package com.hkyp.ss.course.apis;

import com.hkyp.ss.course.apis.dto.common.PageReq;
import com.hkyp.ss.course.apis.dto.common.PageResp;
import com.hkyp.ss.course.apis.dto.request.CourseDTO;
import com.hkyp.ss.course.apis.dto.request.HomePageCourseDTO;
import com.hkyp.ss.course.apis.dto.response.CourseBackVO;
import com.hkyp.ss.course.apis.exception.UnacceptableException;

import java.util.List;

/**
 * 课程管理  后台接口
 *
 */
public interface CourseBackService {

    //新增
    void saveCourse(CourseDTO courses, Long userId);

    //课程详情
    CourseDTO selectCourseById(Long cid);

    //课程列表
    PageResp<CourseBackVO> selectCourseByPage(HomePageCourseDTO homePageCourseDTO, PageReq pageReq);

    //编辑课程
    void updateCourse(CourseDTO courses, Long userId);

    //删除课程
    void deleteCourse(Long cid);

    //课程的批量上架/下架
    int changeState(List<Long> cids, Integer state);
    int recommendCourse(List<Long> cids,Integer recommend)throws UnacceptableException;
    /**
     * 批量删除
     * @param cids
     * @param deleted
     */
    int deleteCourses(List<Long> cids, Integer deleted);
}
